home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / image / multi207.zip / MSCOPE.DOC < prev    next >
Text File  |  1997-03-21  |  47KB  |  887 lines

  1.                                Multiscope, 2.07
  2.  
  3.                                     StarCom
  4.                                  Matt Roberts
  5.                                3 Cedar St., # 2
  6.                            Montpelier, Vt 05602-3006
  7.                                  (802)229-1171
  8.  
  9. Multiscope puts lines on your screen in such a way as to create interesting 
  10. designs.  It gets its name from the fact that it'll work on a wide variety of 
  11. systems, though special emphasis has been placed on compatibility with 
  12. monochrome Hercules (tm) and clone graphics cards.  That's because I've had a 
  13. lot of Hercules systems in the last few years, and haven't been able to find 
  14. screen display programs I liked that supported my systems.
  15.  
  16. Source included is: Tandy 100 BASIC for the Tandy 102 kaleidoscope; Commodore 
  17. 64 BASIC 2 for the Commodore 64 kaleidoscope; ASIC 5.00 for KALEIDOS.EXE; 
  18. Color BASIC 1.3 for the Color Computer 2 kaleidoscope; and QuickBASIC 4.5 for 
  19. SKAL.EXE .
  20.  
  21.                         About Money and Other Fun Stuff
  22.  
  23. If you find Multiscope useful, a contribution of $11.13, or any amount, would 
  24. be greatly appreciated.  Please feel free to make backup copies and distribute 
  25. them to others without restriction.  Payment is entirely voluntary on the part 
  26. of the user, which is why I call it a contribution.  The theory is that the 
  27. user of software knows best the value of the software he or she receives.  The 
  28. advantage of this method is that costs can be kept low, since there are no 
  29. packaging costs, advertising costs, etc.  You get to "try before you buy", 
  30. with no obligation on your part if you don't care for the program.
  31.  
  32. Barter is also acceptable, if you feel you don't have any cash you want to 
  33. part with right now.  If you have something you want to trade, I'm always 
  34. interested.  Just contact me at the address at the beginning of this document.
  35.  
  36. Those sending a contribution of $10 or more (or the equivalent in barter) will 
  37. receive the latest version of Multiscope.
  38.  
  39.                                     Credits
  40.  
  41. The comments and suggestions of Nancy Liedlich and Darrell Becker have been 
  42. very helpful.  In addition, they've patiently endured various versions of 
  43. monochrome "kaleidoscopes" designed for various systems.  Nancy also helped 
  44. with some suggestions for the C64 kaleidoscope not long ago.  Thanks, folks!
  45.  
  46. Matt Brittenham noticed that the screen periodically seemed to freeze for 
  47. quite a while.  I'd kind of noticed it, but never really gave it much thought.  
  48. His comments spurred me to solve that problem.  Thanks, Matt!
  49.  
  50. A few years ago, Cliff Farley sent me (among other spiffy routines) an INT86 
  51. routine for turning off the cursor.  I've used it several times, and it's used 
  52. here in the MDA display of KALEIDOS.  I've saved a nice bit of time not having 
  53. to look up the BIOS call myself; it was very convenient to just "cut and 
  54. paste" from his code.  Thanks, Cliff! 
  55.  
  56. ASIC, by 80/20 Software, is a shareware BASIC compiler I use a lot, and I 
  57. highly recommend it.  The cost is only $25 ($20 for the compiler, and $5 for 
  58. shipping) as of this writing.  The author can be contacted at:  80/20 
  59. Software, P.O. Box 2952, Raleigh, NC 27602-2952.  KALEIDOS and HKAL are 
  60. written in ASIC 5.00 .
  61.  
  62. KALEIDOS.EXE and HKAL.EXE use a third-party library called ASILIB by Douglas 
  63. Herr.  I'm suddenly able to do some really spiffy things I couldn't do in ASIC 
  64. or any other language, and I'm quite pleased.  I'm a registered user and quite 
  65. happy about it.  His address: Douglas Herr, P.O. Box 207, Sacramento Ca 95812 
  66. USA.  IBRARY, another third-party library for ASIC, is also used in 
  67. KALEIDOS.EXE .  I've lost the address, but what support and upgrades there are 
  68. are to be found on the Internet anyway.  The publisher is Charon Software.
  69.  
  70. SKAL.EXE uses a third-party library called SVGAQB by Zephyr Software.  This 
  71. allows access to 256-color modes in 320 X 200, 640 X 400, 640 X 480, 800 X 
  72. 600, 1024 X 768, and 1280 X 1024.  They can be contacted at:  Zephyr Software, 
  73. P.O. Box 7704, Austin, Texas 78713-7704. 
  74.  
  75. SKAL.EXE is written in QuickBASIC 4.50 by Microsoft.  This is an "obsolete" 
  76. programming language that a lot of people (including myself) still use.  It 
  77. can still be obtained, but only at outrageous prices (they seem to be trying 
  78. to discourage its use).  Still and all, it was the best option for this 
  79. program, and is excellent for a lot of DOS programming.  SKAL.EXE runs under 
  80. Windows 3.1, so it can still be used on systems that aren't quite as old as 
  81. most of mine.  I don't know if it'll run under Windows 95 yet, but I bet it 
  82. will.
  83.  
  84. One of the video detection routines was taken from "BASIC Techniques and 
  85. Utilities", by Ethan Winer.  There's lots of fantastic code in here, and I've 
  86. yet to scratch the surface.  Simply put, this book will make you a better 
  87. programmer if you use one of the Microsoft BASIC compilers.  There should be 
  88. useful information in here for PowerBASIC users as well.
  89.  
  90.                                  System Notes
  91.  
  92. Multiscope was written on a Sirex, with an 80386SX processor running at 16MHz 
  93. and an 80387 math coprocessor.  There's 640K base memory, and 3200K extended.  
  94. The system has one 5.25" 1.2M drive, one 5.25" 360K drive, and a 40M hard 
  95. drive.  Operating system is Microsoft MS-DOS 5.00 .
  96.  
  97. Parts of Multiscope were prototyped on the following systems:
  98.  
  99. A Tandy 102.  I don't know what processor that one has.  Video is a monochrome 
  100. LCD screen with 240 X 64 X 2 resolution.  There is a Realistic CCR-81 cassette 
  101. drive installed.  The system has 64K RAM.  The programming language used was 
  102. Tandy 100 BASIC.  This system is no longer set up, but is available for 
  103. prototyping if need warrants.  Source code in Tandy 100 BASIC has been saved 
  104. on tape and on disk (in IBM format) for future use.
  105.  
  106. A Commodore VIC20, with a 6502 processor.  There was a 16K RAM cartridge 
  107. installed, for a total of 19½K RAM, a VIC-1541 disk drive, and a black and 
  108. white television for video output.  This system has been given away and is no 
  109. longer available for prototyping.  Source code, in CBM BASIC 2, has been saved 
  110. on disk and on paper for future use.
  111.  
  112. A modified IBM PC, with a 4.77 MHz 8088 processor.  Video is a Hercules 
  113. Graphics Card (or compatible; I haven't checked) and an Amdek amber-screen 
  114. monochrome monitor.  There is one 5.25" 360K floppy drive installed, and a 20M 
  115. hard drive.  The system has 640K RAM.  Operating system is IBM DOS 4.00 .  
  116. This system is not currently available for prototyping, but may be returned in 
  117. the future.  Source code in numerous languages has been saved on disk for 
  118. future use.
  119.  
  120.                                    ---------
  121.  
  122. The version of Multiscope written for the Commodore 64 was written on a 
  123. Commodore 64, which uses a 6510 processor.  Video is a color TV; resolution 
  124. capability is: 40 X 25 X 16 colors in text mode, and 160 X 200 X 4 and 320 X 
  125. 200 X 2 in bit-mapped graphics mode.  There is one VIC-1541 disk drive 
  126. installed.  The system has 64K RAM.  The programming language used was 
  127. Commodore 64 BASIC 2.  This system has been given away and is no longer 
  128. available for prototyping.  I have other C64's, but I don't think any of them 
  129. work.  Source code, in Commodore 64 BASIC 2, has been saved on disk for future 
  130. use.
  131.  
  132. The kaleidoscope for the Color Computer 2 was written on a Color Computer 2 
  133. with a Color TV and a CCR-83 cassette drive.  The processor is a 6809E.  
  134. There was a Tandy DMP-133 attached.  RAM was 16K.  Programming language was 
  135. Color BASIC 1.3 .  This system has been given away and is no longer available 
  136. for prototyping.  Source code, in Color BASIC 1.3, has been saved on tape and 
  137. on disk (in IBM format) for future use.
  138.  
  139.                               System Requirements
  140.  
  141. To run KAL008.BA, you'll need a Tandy 102.  You'll have to display it on an 
  142. IBM-compatible system or print it, and then type it into the Tandy 102.  It 
  143. should run on any Tandy 102, to the best of my knowledge.
  144.  
  145. To run C64KA008.BAS, you'll need a Commodore 64.  You'll have to display the 
  146. program on an IBM-compatible system's screen or print it, and then type it 
  147. into the Commodore 64.  As far as I know, it'll run on any Commodore 64.  
  148. NOTE: This file is currently on the supplementary disk.
  149.  
  150. The kaleidoscope for the Color Computer 2 requires a Color Computer.  I don't 
  151. know why it wouldn't run on any Color Computer, but you may need a Color 
  152. Computer 2 as a minimum.  You'll need to use an IBM-compatible computer to 
  153. print or display it, and then type it in manually.  You'll need at least a TV 
  154. to display the program and, obviously, color is recommended.
  155.  
  156. To run KALEIDOS.EXE, you'll need an IBM or compatible system with a screen 
  157. capable of displaying 80 columns of text.  Of course, the screen display for 
  158. monochrome systems is not nearly as spiffy as that for computers with graphics 
  159. cards, so you'll be more likely to experience ecstasy if you have some sort of 
  160. graphics card in your system.  You'll probably get by with 128K of RAM 
  161. (possibly less).
  162.  
  163. To run SKAL.EXE, you'll need an IBM or compatible system with an 80386SX or 
  164. higher CPU, and probably about 128K RAM.  You'll need an SVGA card with at 
  165. least 256K video memory; this will let you access the 320 X 200 and 640 X 400 
  166. modes.  You'll need 512K video RAM for the 640 X 480 and 800 X 600 modes; 1M 
  167. for the 1024 X 768 mode; and 2M for the 1280 X 1024 mode.  In addition, you'll 
  168. need a VGA monitor capable of supporting one or more of the modes listed here.  
  169. As far as I can tell, any VGA monitor will support at least 640 X 480, with 
  170. 256 colors.
  171.  
  172.                                  The Warrantee
  173.  
  174. There isn't any.  Don't be alarmed; Microsoft has the same lack of warrantee, 
  175. they just use more and bigger words to say the same thing.  That said, please 
  176. bear in mind that I'm writing this program for myself, not just for 
  177. distribution.  I intend to use the program as much as its capabilities permit. 
  178. As a result, it isn't very likely that I'll be slipshod about fixing bugs; I 
  179. want the programs I use to be as error-free as possible.  Since I use the 
  180. program as much as possible, it's also likely that I'll spot any problems very 
  181. quickly.  Personally, I think that's a better warrantee than any promises I 
  182. could make. 
  183.  
  184.                                  System Tests
  185.  
  186. Versions 0.01 through 2.07 have been tested on the system described in System 
  187. Notes, preceding.  Tests have also been conducted on every blessed computer I 
  188. could get my hands on, and the systems are just too numerous to be listed.  
  189. Suffice to say that I intend to continue testing Multiscope whenever I get 
  190. hold of a new system to play with, so the list will keep growing.
  191.  
  192. No problems have been detected, except as noted in the section Problems.
  193.  
  194.                               Running Multiscope
  195.  
  196. To run KAL008.BA, you'll need to type it into your Tandy 102 after displaying 
  197. it on an IBM-compatible computer's screen or printing it.  If you have a 
  198. cassette drive, you should save it on tape.  If you don't have one, you can 
  199. save it into RAM.  Once it's in memory, type RUN.  Pressing any key will 
  200. return you to the BASIC interpreter.  The kaleidoscope is in black and white 
  201. only, and sometimes runs quite slowly (depending on the internal clock that's 
  202. helping assure a "truly" random set of numbers for the lines).
  203.  
  204. To run C64KA009.BAS, you'll need to type it into your Commodore 64 after 
  205. displaying it on an IBM-compatible computer's screen or printing it.  If you 
  206. have a cassette drive or disk drive, you should save the program before 
  207. running it.  Once it's in memory, type RUN.  Pressing any key will clear the 
  208. screen and return you to the BASIC interpreter.  While the kaleidoscope is in 
  209. color, it uses text mode to create character-sized rectangles.  Because the 
  210. rectangles are so large, the resolution suffers and the effect is 
  211. disappointing.  NOTE: This file is currently on the supplementary disk.
  212.  
  213. To run the kaleidoscope for the Color Computer 2, you'll need to display or 
  214. print it using IBM-compatible equipment, and then type it in manually.  After 
  215. it's been entered and saved, type RUN.
  216.  
  217.                                  KALEIDOS.EXE
  218.  
  219. Change to the directory containing KALEIDOS.EXE, or place KALEIDOS.EXE in your 
  220. path (in which case you won't need to change directories or drives in order to 
  221. run it).  You press a key to return to DOS.
  222.  
  223.                                 Auto-Detection
  224.  
  225. If you just type KALEIDOS, with no command line options, Multiscope will 
  226. first attempt to detect whether the card is monochrome or color.  If it's 
  227. monochrome, Multiscope will check for a Hercules or compatible card.  If it 
  228. finds one, the screen display will start.  Don't be alarmed if nothing happens 
  229. on your screen for a while; there are only two colors (foreground and black), 
  230. and Multiscope may be drawing black lines on a black background for a little 
  231. while.  If you're anything like me, you'll find this less than visually 
  232. stimulating.  If you're patient, though, some pretty spiffy designs will show 
  233. up sooner or later, and probably sooner.  If no Hercules or compatible is 
  234. found, the MDA display (no graphics, but not bad in my opinion) will start.
  235.  
  236. If Kaleidscope decides you have a color card (which has nothing to do with 
  237. whether or not your display screen can produce colors, incidentally), it'll 
  238. check for EGA/VGA.  If it decides you have one or another, it'll start by 
  239. trying to enter 640 X 480 X 16 resolution.  If that doesn't work, it'll go to 
  240. 640 X 350 X 16.  If that doesn't work, or if EGA/VGA was not detected, it'll 
  241. go to the next step, which is to attempt CGA mode 320 X 200 X 4.  If nothing 
  242. works, you'll get the MDA display described earlier.
  243.  
  244.                              Command Line Options
  245.  
  246. If you don't like the results of the autodetection, you can force Multiscope 
  247. into any graphics mode your system supports.  This requires that you know what 
  248. your system can and can't do; trying to force it into modes it can't handle 
  249. can damage your video card in some cases.
  250.  
  251. Please note that, while command line options are listed in upper case, either 
  252. upper or lower case, or any combination of the two, will work just fine.
  253.  
  254. M - Monochrome Display Adapter (80 X 25 blocks)
  255. C1 - Color Graphics Adapter (CGA); 320 X 200 X 4
  256. C2 - Color Graphics Adapter (CGA); 640 X 200 X 2
  257. H - Hercules or Compatible Graphics Adapter (HGC); 720 X 348 X 2
  258. A - AT&T 6300 Graphics Adapter (640 X 400 X 2)
  259. E1 - Enhanced Graphics Adapter (EGA); 320 X 200 X 16
  260. E2 - Enhanced Graphics Adapter (EGA); 640 X 200 X 16
  261. E3 - Enhanced Graphics Adapter (EGA); 640 X 350 X 4 (see EGA mode description)
  262. E4 - Enhanced Graphics Adapter (EGA); 640 X 350 X 16
  263. V1 - VGA or MCGA; 640 X 480 X 2
  264. V2 - Video Gate Array (VGA); 640 X 480 X 16
  265. V3 - VGA or MCGA; 320 X 200 X 256
  266. V4 - Video Gate Array (VGA); 320 X 240 X 256
  267. V5 - Video Gate Array (VGA); 320 X 400 X 256
  268. V6 - Video Gate Array (VGA); 360 X 480 X 256
  269. VS1 - VESA SVGA; 800 X 600 X 16
  270. S - non-VESA SVGA; 640 X 400 X 256
  271. /A - Art show
  272. /S - PCX file display
  273. /SS - PCX file display slideshow
  274. REPORT- Tells you about the graphics capabilities of your computer
  275.  
  276.                      Monochrome Display Adapter (MDA) Mode
  277.  
  278. If you type KALEIDOS M, you should be switched to a monochrome display of 
  279. blocks in varying shades of foreground color.  While this isn't the most 
  280. exciting display available, it's not bad considering the fact that MDA isn't 
  281. capable of graphics.  It's the only MDA screen display I've ever seen, and was 
  282. written because I had that kind of system for a while.
  283.  
  284.                          Color Graphics Adapter (CGA)
  285.  
  286. If you have a CGA card, typing KALEIDOS C1 will give you a line display in 320 
  287. X 200 resolution and 4 colors.  These are the default colors for CGA; kind of 
  288. a baby blue ("cyan"), a pinkish purple ("magenta"), black, and white.  Since 
  289. there are more colors, it's a bit less likely that the screen will get too 
  290. muddy.  However, it does happen.
  291.  
  292. Typing KALEIDOS C1A will replace the purplish pink (or is that pinkish purple?) 
  293. with red.  I don't care for the change myself, but there are people in the 
  294. world who think red is a great color and I thought they should have the 
  295. option.
  296.  
  297. Typing KALEIDOS C2 will produce a line display in 640 X 200 resolution with 2 
  298. colors.  You might find you like the higher resolution better than the colors.  
  299. If so, this is the option that'll suit you best.  Personally, I prefer the 
  300. lower resolution with the colors, but that might be because I use a lot of 
  301. monochrome monitors and the color is a nice change.  You'll find the same 
  302. problem with the screen getting "muddy" that occurs with a Hercules or 
  303. compatible.  It won't last long, though, and the patterns are generally pretty 
  304. decent.
  305.  
  306.                Hercules Graphics Card and Compatible (HGC) Mode
  307.  
  308. If you have a Hercules or compatible graphics card in your system, and you 
  309. type KALEIDOS H, you'll see a line display that I think is pretty nifty and is 
  310. the best available (as far as I know) for this adapter.  Of course, since you 
  311. only get two "colors" (foreground and black), you may find it takes a while 
  312. before you see anything.  That's because KALEIDOS is drawing black lines on a 
  313. black background.  If you're anything at all like me, you're likely to find 
  314. this distinctly uninteresting.  The same problem will happen when too much of 
  315. any one "color" is on the screen.  For instance, you may get amber lines being 
  316. drawn over amber lines which have been drawn over amber lines.  In this case, 
  317. the problem isn't that you have nothing on the screen, but that you have too 
  318. much.  In either case, the "pattern" leaves a great deal to be desired.  
  319. Bluntly put, there isn't a single blessed thing I can do about it.  The lines 
  320. are being drawn randomly, and you and I will just have to wait until they form 
  321. a better pattern.  This version of the kaleidoscope is fairly quick, though, 
  322. so it shouldn't take long before you get some interesting stuff to watch.
  323.  
  324.                                 AT&T 6300 Mode
  325.  
  326. If you have an AT&T 6300, typing KALEIDOS A will give you a line display with 
  327. a resolution of 640 X 400, with 2 colors.  At least I think it will; I don't 
  328. have an AT&T 6300, so I can't guarantee anything.  All I can really tell you 
  329. at this point is that it compiled okay and that it won't run on a VGA monitor 
  330. (in fact, it hangs the system in good shape).  I really shouldn't keep trying 
  331. to make this resolution run on other systems, but I can't resist.  Anyway, if 
  332. I find out anything else, I'll let you know.
  333.  
  334.                         Enhanced Graphics Adapter (EGA)
  335.  
  336. Typing KALEIDOS E1 results in a line display with a resolution of 320 X 200, 
  337. with 16 colors.
  338.  
  339. KALEIDOS E2 yields a resolution of 640 X 200, with 16 colors.
  340.  
  341. KALEIDOS E3 is good if you have a monochrome EGA monitor in your system, or if 
  342. you don't like colors, I suppose.  Technically, the monochrome EGA gives you 
  343. four "colors", but at least one of those is a nasty blinking thing that gives 
  344. most people a headache.  So, I tweaked it to show only foreground and black.  
  345. Resolution is 640 X 350.
  346.  
  347. KALEIDOS E4 offers 640 X 350 resolution, with 16 colors.
  348.  
  349.            Video Gate Array (VGA), Multi-Color Graphics Array (MCGA)
  350.  
  351. Typing V1 gets you a 640 X 480 resolution line display, in foreground color 
  352. and black.  This one works for both VGA and MCGA cards.
  353.  
  354. Typing V2 results in a 640 X 480 resolution line display, and 16 colors.  VGA 
  355. only.
  356.  
  357. KALEIDOS V3 displays the lines at 320 X 200 resolution, in 256 colors.  Works 
  358. with both VGA and MCGA.
  359.  
  360. KALEIDOS V4 will display lines at 320 X 240 resolution, in 256 colors.  
  361. Requires VGA.
  362.  
  363. KALEIDOS V5 gives you a line display at 320 X 400 resolution in 256 colors.  
  364. VGA only.
  365.  
  366. If you type KALEIDOS V6, you'll see a line display at 360 X 480 resolution in 
  367. 256 colors.  VGA only.
  368.  
  369.                                    VESA SVGA
  370.  
  371. If you have a VESA SVGA card with enough memory to generate this mode, and a 
  372. monitor capable of displaying it, typing KALEIDOS SV1 produces a line display 
  373. in 800 X 600 resolution, with 16 colors.
  374.  
  375.                                  Non-VESA SVGA
  376.  
  377. KALEIDOS S gets you a 640 X 400 resolution line display, in 256 colors.  
  378. Trying to run it from a shell hung my machine, but after I rebooted it worked 
  379. fine.
  380.  
  381. The only machine this worked on was an 80386SX-16.  I tried it on a 286 with 
  382. an SVGA card, but it just hung the monster.  Hopefully, this option works on 
  383. other systems than the one in my apartment, but I can't guarantee that yet.
  384.  
  385.                           Keypresses During Operation
  386.  
  387. While the kaleidoscope is running, you can press the F1 key to learn that 
  388. there are no help screens available at this time.  That'll change in the 
  389. future, of course.  I mainly wanted to get the routines in place, and I'll put 
  390. the actual help info in later.
  391.  
  392.                              Graphics Information
  393.  
  394. Typing KALEIDOS REPORT will get you a screen that tells you about the graphics 
  395. modes your computer supports.  More accurately, it'll tell you about the modes 
  396. your system supports that KALEIDOS can detect; SVGA cards, for example, are 
  397. not detected at this time.  If you have the manuals that came with your 
  398. computer, you should double-check those to see if there's something KALEIDOS 
  399. might have missed.  If so, you'll have to access those modes with one of the 
  400. command line options listed above, if possible.  There are a lot of modes out 
  401. there that are not supported by KALEIDOS; the Amstrad's 640 X 200 X 16 mode is 
  402. one example.  The CPU is detected and reported with this option.  If a 386 or 
  403. better is detected, try running SKAL for SVGA detection.
  404.  
  405.                                .PCX File Display
  406.  
  407. KALEIDOS.EXE can be used to display .PCX files.  The syntax is KALEIDOS /S 
  408. filename.ext, where filename.ext is the name of the .PCX file you want to 
  409. view.  It's intended for systems which lack SVGA and/or a 386 processor.  It 
  410. supports the standard IBM graphics formats, with the exception of 320 X 200 X 
  411. 4; the graphics get elongated and clipped for some reason.
  412.  
  413. You can also view slideshows.  First, make a list of the .PCX files you wnat 
  414. to look at. Then type KALEIDOS /SS filename.ext, where filename.ext is the 
  415. name of your list.  You can probably specify a path for the file list, and the 
  416. file list can probably contain pathnames, but I haven't checked that out yet.  
  417. If it does work like that, you'd have to specify the pathname for each file, 
  418. een if it's the same path, like this:
  419.  
  420. C:\PCX\FILE1.PCX
  421. C:\PCX\FILE2.PCX
  422.  
  423. and so on.
  424.  
  425. If KALEIDOS can't find a file at any time during the slideshow, it'll give you 
  426. the message "Can't display file" and dump you back to DOS.  I might fix that 
  427. at some point in the future, but for now I'm letting it lie.  You'll get the 
  428. same result if you try to display any graphics the system can't support.  32-
  429. color files probably aren't going to display, though I plan to work on that at 
  430. some point in the future.  The same holds true for 128-color files.  Graphics 
  431. systems that can only support 2-colors will not display any files that have 
  432. more colors than that properly, and so on up the line.  So a Hercules system 
  433. won't properly display a 4 or 16-color file, and an EGA system won't properly 
  434. display a 256-color file.  This may not be universally true, since I haven't 
  435. had time to fully test the system; you should feel free to experiment.  Later 
  436. on, I'll be doing more testing in an effort to display more types of files on 
  437. more systems. 
  438.  
  439. If the file has the correct number of colors for your system, but is too big 
  440. for the screen, it'll probably be clipped.  I hope to include some scrolling 
  441. and panning capabilities in the future, but for now you'll just see part of 
  442. the graphic.
  443.  
  444.                                    Art Show
  445.  
  446. If you type KALEIDOS /A, KALEIDOS will try to open the file ARTSHOW.SCR, and 
  447. then attempt to carry out the commands.  The art show can be interrupted by a 
  448. keypress.  You'll be returned to DOS fairly quickly if you have the 
  449. kaleidoscope running at the time.  If you have a PCX file displaying, it's set 
  450. up to display for a specific amount of time, and it won't return you to DOS 
  451. until that time is up.
  452.  
  453. You can also specify the script file name of your choice, and KALEIDOS will 
  454. try to open that file instead.  That way, you can have a variety of script 
  455. files in the same directory or on the same disk, and simply specify which one 
  456. you want to use.
  457.  
  458. If KALIEDOS can't find the script file you specify (or ARTSHOW.SCR if no 
  459. filename has been typed), you'll be informed of this fact and returned to DOS.
  460.  
  461.                                 Script Commands
  462.  
  463. While commands are shown in upper case, any combination of upper and lower 
  464. case in the script file itself is fine.  Sections of commands shown in square 
  465. brackets ([]) are optional.
  466.  
  467.                                    ---------
  468.  
  469. DISPLAY ANSI FILE filename.ext[, WAIT x SECONDS] - This command displays the 
  470. ANSI file of your choice, optionally waiting a specified number of seconds.  
  471. If no number is specified, the graphic is displayed for 60 seconds.  There'll 
  472. be a delay before anything is printed on the screen, because the file is 
  473. loaded entirely into memory first.
  474.  
  475. If specifying a delay period, you must use the comma with no space between it 
  476. and the DISPLAY ANSI FILE command.  There must be one space after the comma, 
  477. and the keyword SECONDS must be included.  The filename.ext is the name of the 
  478. ANSI file you want to display.
  479.  
  480. Not all ANSI files can be displayed; I set this up to display a file that 
  481. pleases me, and left out a lot of options I could have included.  I can 
  482. change the routine so it shows more ANSI files if enough interest is shown by 
  483. contributors.
  484.         Examples:
  485.                 1- DISPLAY ANSI FILE SCLOGO.ANS
  486.  
  487. This will display the file SCLOGO.ANS on your screen for 60 seconds.
  488.  
  489.                 2- DISPLAY ANSI FILE SCLOGO.ANS, WAIT 15 SECONDS
  490.  
  491. This will display SCLOGO.ANS for 15 seconds.
  492.  
  493. DISPLAY PCX FILE filename.ext[, WAIT x SECONDS] - This displays the PCX file 
  494. of your choice, optionally waiting a specified number of seconds.  If no 
  495. number is specified, the graphic is displayed for 60 seconds.
  496.  
  497. If specifying a delay period, you must use the comma with no space between it 
  498. and the DISPLAY PCX FILE command.  There must be one space after the comma, 
  499. and the keyword SECONDS must be included.  The reason SECONDS must be included 
  500. is that I may decide to offer an option to let people specify numbers of 
  501. minutes, or even hours if someone is silly enough to want it and sends me 
  502. money.  The filename.ext, of course, is the name of the PCX file you want to 
  503. display.
  504.         Examples:
  505.  
  506.                 1- DISPLAY PCX FILE TEST.PCX
  507.  
  508. This will display the file TEST.PCX on your screen, and hold it there for 60 
  509. seconds.
  510.  
  511.                 2- DISPLAY PCX FILE TEST.PCX, WAIT 15 SECONDS
  512.  
  513.  
  514. This will display TEST.PCX for 15 seconds.
  515.  
  516. DISPLAY TEXT FILE[ filename.ext, WAIT x SECONDS] - As you might have guessed, 
  517. this command displays a text file.  While you might think this is a waste of 
  518. time, you can actually get some pretty nifty results with the IBM line-drawing 
  519. characters, and you can create some really spiffy art shows even without a 
  520. graphics adapter installed.  If y9u don't specify a filename, it'll look for a 
  521. file with the name ARTSHOW.TXT .  It'll remain on your screen for 60 seconds 
  522. if you don't specify a duration using the WAIT option.  The syntax with that 
  523. option is DISPLAY TEXT FILE filename.ext, WAIT x SECONDS, where filename.ext 
  524. is the name of the text file you want to display and X is the number of 
  525. seconds you want it to stay there.  Because the slideshow is automatic, your 
  526. text file should fit on the screen; there are no PgUp or PgDn options at this 
  527. time.
  528.         Examples:
  529.                 1 - DISPLAY TEXT FILE 
  530.  
  531. This will display the file ARTSHOW.TXT for 60 seconds, or give you an error 
  532. message if it can't find the file.
  533.  
  534.                 2 - DISPLAY TEXT FILE TEST.TXT 
  535.  
  536. Same as the preceding, except that KALEIDOS will look for the file TEST.TXT .
  537.  
  538.                 DISPLAY TEXT FILE TEST.TXT, WAIT 10 SECONDS 
  539.  
  540. Same as the preceding, except that your file will be displayed for 10 seconds,
  541. assuming it can be found.
  542.  
  543. LOOP - Returns you to the beginning of the file, and lets you start over 
  544. again.  This is good for continuously running artshows.  If you want to run 
  545. your show through just once and then quit to DOS, just leave out this command.
  546.         Example: LOOP
  547.  
  548.  
  549. SHOW SCREEN DISPLAY - This command will show the kaleidoscope screen display 
  550. on your screen for about two minutes, or until you press a key.
  551.         Example: SHOW SCREEN DISPLAY
  552.  
  553.                            "Laser Light Show" Option
  554.  
  555. Typing KALEIDOS /L will give you slightly different type of display; it's 
  556. faster, and at least one person I knew with a Hercules display likes it 
  557. better.  It's essentially the kaleidoscope without the symmetry, and you may 
  558. have heard of it as "Laser", "Web", "Walking Sticks", or the like.  It's been 
  559. around about as long as graphics has, so you're bound to have seen some 
  560. version of it.
  561.  
  562. Auto-detection only is available at this time, and pressing a key will return 
  563. you to the DOS command-line.
  564.  
  565.                                    HKAL.EXE
  566.  
  567. Because I have older systems with small drives (as of this writing, I'm using 
  568. a 40M hard drive), I'm always thinking of ways to make more room.  In this 
  569. case, I thought that a kaleidoscope that was geared to only one mode would 
  570. take up less space on the hard drive.  I was right, although it didn't help me 
  571. any since I keep all my distribution files on the hard disk; it actually made 
  572. less room.  It might help you out, though, if you have a Hercules graphics 
  573. card or compatible.  That's all this is; a kaleidoscope for Hercules systems.  
  574. It takes no command-line input and does no video detection except to check for 
  575. a Hercules card.  The result is that the executable takes up about half the 
  576. room it would otherwise use.
  577.  
  578.                                    SKAL.EXE
  579.  
  580. This is a kaleidoscope for systems with SVGA graphics capabilities.  For 
  581. various reasons, it wasn't possible to include these routines in KALEIDOS.  
  582. You'll need an 80386SX or better to use this program; even if you have SVGA 
  583. capabilities, it won't work on a 286.
  584.  
  585. This program is almost entirely command line driven, because it's fairly 
  586. common for folks to have a graphics card that can generate a higher resolution 
  587. than the screen can display.  I'm thinking mostly of "home-grown" systems such 
  588. as mine, but I've also seen some new systems sold like that.  It doesn't 
  589. happen much now, but I'll bet there are some 386 and 486 systems out there 
  590. that have that kind of setup.  Because SKAL is unable to detect the 
  591. resolutions a screen can display, autodetection is not a good idea.  Trying to 
  592. display resolutions that your card or screen can't handle can result in 
  593. hardware damage, so we're doing it the hard way for the time being.
  594.  
  595. 0 - 320 X 200 X 256 line display (straight VGA, no SVGA required <I think>)
  596. 0A - Same as option 0, but spiffier patterns
  597. 1 - 640 X 400 X 256 line display (not supported by all cards)
  598. 1A - Same as option 1, but spiffier patterns
  599. 1P - Screen capture in 640 X 400 resolution
  600. 1S - .PCX file display in 640 X 400
  601. 2 - 640 X 480 X 256 line display
  602. 2A - Same as option 2, but spiffier patterns
  603. 2P - Screen captures in 640 X 480 resolution
  604. 2S - .PCX file display in 640 X 480
  605. 3 - 800 X 600 X 256 line display
  606. 3A - Same as option 3, but spiffier patterns
  607. 3P - Screen capture in 800 X 600 resolution
  608. 3S - .PCX file display in 800 X 600
  609. 4 - 1024 X 768 X 256 line display (untested)
  610. 4A - Same as option 4, but spiffier patterns
  611. 4P - Screen capture in 1024 X 768 resolution
  612. 4S - .PCX file display in 1024 X 768
  613. 5 - 1280 X 1024 X 256 line display (untested)
  614. 5A - Same as option 5, but spiffier patterns
  615. 5P - Screen capture in 1280 X 1024 resolution
  616. 5S - .PCX file display in 1280 X 1024 
  617. SS - .PCX file display slide show
  618. REPORT - Reports on your system.
  619.  
  620. Not all SVGA cards can support the 640 X 400 X 256 resolution; because there 
  621. is no autodetection in SKAL, it's important that you know what your system can 
  622. do.
  623.  
  624. To run SKAL, type SKAL [option] .  For instance, to see the kaleidoscope in 
  625. 640 X 480 X 256 mode, and using the spiffier patterns, type: SKAL 2A .
  626.  
  627. About the "A" options (1A, 2A, etc.): The Zephyr library has an option for a 
  628. different type of line.  I tried it, and found the patterns were much 
  629. spiffier.  The reason it's a separate option instead of the main one is that 
  630. the symmetry is not as good.  In other words, option 1 has better symmetry, 
  631. but option 1A has better patterns.  So, you get to choose which one you like 
  632. best.  Actually, the patterns are so much better that I may take out the 
  633. option with better symmetry altogether at some point.  I'd appreciate knowing 
  634. your opinion on whether or not I should keep the "better symmetry" option.
  635.  
  636. I've recently included the "0" option.  I had neglected it earlier, but I 
  637. finally noticed that the documentation for the library I'm using says this 
  638. mode doesn't need an SVGA card.  Because the whole idea of this business is to 
  639. support older hardware, I've decided to include it.  That's why it's option 0 
  640. instead of option 1; I didn't feel like changing the whole option list around 
  641. through the entire source file, so I cheated.
  642.  
  643. Theoretically, the "0" option will allow anyone with a 386 or better and VGA 
  644. to use SKAL.  However, I haven't tested it on anything but a 386SX with an 
  645. SVGA card, so I don't know.  It's entirely possible it'll fail without SVGA, 
  646. since untested features are frequently not as advertised.  I'd appreciate 
  647. knowing how things work out if you have a 386 or better with plain vanilla 
  648. VGA. 
  649.  
  650.                                 Screen Capture
  651.  
  652. Typing one of the numeric options with a "P" runs the screen capture option, 
  653. for instance: SKAL 2P .  A pattern will be generated, and then the screen will 
  654. pause and wait for you to press a key.  If you press the Esc key, you'll be 
  655. returned to DOS.  If you press the C or Enter key, the pattern on your screen 
  656. will be written to a .PCX file.  The first file will be C1.PCX, the next will 
  657. be C2.PCX, and so on.  Any other key will just generate another pattern.
  658.  
  659. This option uses the anti-aliased lines ("A" option) to generate spiffier 
  660. patterns.  The problem is that, while the symmetry problem isn't such a big 
  661. deal when the patterns are constantly changing, a still picture is an entirely 
  662. different situation.  So you'll have to keep cycling through until you get an 
  663. interesting pattern with good symmetry.  This will happen, and I've generated 
  664. some pretty spiffy screens with it.  Some of them I might have been inclined 
  665. to save, but I didn't want to use the disk space right now.
  666.  
  667. The advantage here is that you can get a good pattern, capture it, and import 
  668. it into a graphics editor.  At this point, you can insert your business logo, 
  669. a holiday greeting, a "No Parking" notice, whatever works for you.
  670.  
  671. You should be aware that these files take up quite a bit of disk space, around 
  672. half a meg apiece in 640 X 480 X 256 mode.  You get larger files in the higher 
  673. resolutions.  So, if disk space is a problem, you'll want to avoid getting too 
  674. carried away with this option.
  675.  
  676. Unfortunately, screen capture is currently not available in the 320 X 200 
  677. mode.  If and when I can make it available, I will.
  678.  
  679.                                .PCX File Display
  680.  
  681. This option allows you to display .PCX files on your screen.  It's intended 
  682. for viewing screen captures made previously with SKAL's P option, but seems to 
  683. view any 256-color .PCX file.  While I haven't seen many 256-color .PCX's, I 
  684. have been able to convert 256-color .GIF files using various shareware 
  685. utilities currently on the market.  My testing indicates that any 256-color 
  686. .PCX will display.  Your screen should be in the same resolution as the file; 
  687. if the resolution is higher than the file's, it won't fill the screen, and if 
  688. it's lower the file will be clipped.  It looks like the Zephyr's library loads 
  689. the entire file into memory even when it doesn't fit the screen (the disk 
  690. light keeps going after the screen is filled), so panning should be a 
  691. possibility at some point if I can figure out how to do it.  For now, though, 
  692. you'll have to control things yourself.  To use this feature, type
  693.  
  694. SKAL nS filename.ext
  695.  
  696. where n is the mode you want (1 through 5) and filename.ext is the file you 
  697. want to view.  For example, SKAL 2S C1.PCX would view the file C1.PCX in 640 X 
  698. 480 X 256 mode.
  699.  
  700. Unfortunately, this option is not currently available in 320 X 200 mode, and 
  701. it won't view any .PCX files with less than 256 colors.  There may be a way to 
  702. make that option available in the future, but it'll probably be a while before 
  703. I get to it.
  704.  
  705.                                 .PCX Slideshow
  706.  
  707. This option uses a file list you create in straight text format.  Syntax is:
  708. SKAL SS filename.ext
  709.  
  710. where filename.ext is the name of the text file containing the filenames SKAL 
  711. will display.  The first line in the text file has to be a mode number. Here's 
  712. a sample of what your file might look like: 
  713.  
  714. 2
  715. C1.PCX
  716. AUG.PCX
  717. TEST.PCX
  718. ETC.PCX
  719.  
  720. If you wanted to display the files listed in PCXFILES.LST in 640 X 480 X 256 
  721. resolution, your command line would be SKAL SS PCXFILES.LST
  722.  
  723. SKAL will cycle through these filenames until you press a key.
  724.  
  725.                               System Information
  726.  
  727. The REPORT option gives you information about your CPU, graphics capabilities, 
  728. your mouse if any, the presence of one or two joysticks, and XMS (extended 
  729. memory) if any.  Much of this information isn't necessary for running SKAL, 
  730. but the library I'm using has it as an option.  Since I always like to know as 
  731. much about the hardware in my systems as possible, I included it.  Hopefully, 
  732. you'll find it useful as well.
  733.  
  734.                                  The /A Option
  735.  
  736. This is the very beginning of a rudimentary "art show" option for SKAL.  All 
  737. it does is switch between the kaleidoscope and a text file at five-minute 
  738. intervals.  The text file must be named ADVERTIS.TXT, must be in the same 
  739. directory you're in at the moment, and should all fit on one screen.  Syntax 
  740. for this option is SKAL /Amode, where mode is a number corresponding to the 
  741. following resolutions:
  742.  
  743. 0 - 320 X 200 X 256
  744. 1 - 640 X 400 X 256
  745. 2 - 640 X 480 X 256
  746. 3 - 800 X 600 X 256
  747. 4 - 1024 X 768 X 256
  748. 5 - 1280 X 1024 X 256
  749.  
  750. Pressing a key returns you to DOS.
  751.  
  752.                                    Problems
  753.  
  754. Because of the way KALEIDOS clears the screen and returns it, you might have 
  755. trouble with TSR's that place your screen in 43/50 line mode or whatnot.  Then 
  756. again, you might not, since I haven't tested it.  If you run into any trouble, 
  757. I'd appreciate hearing about it.
  758.  
  759. While the resolution capabilities of the various video cards can be detected, 
  760. the capabilities of the monitors can't, at least for now.  In other words, if 
  761. your monitor can't display one of the higher resolutions your card can 
  762. generate, there's no way for SKAL to detect it at this time.  Trying to 
  763. display resolutions your system cannot support can result in damage to your 
  764. video card, monitor, or both.  Please rely on your computer's manuals for 
  765. checking on SVGA capabilities.  Any resolutions detected under 640 X 400 X 256 
  766. should be safe.  If you have a VGA monitor, any resolutions detected of 640 X 
  767. 480 X 256 should be safe, but I can't guarantee that.  The "Mode X" 
  768. resolutions (320 X 240 X 256, 320 X 400 X 256, and 360 X 480 X 256) have 
  769. worked fine on every VGA system I've tested them with, but I certainly can't 
  770. test them all.  I don't know any way to check them without trying it, but the 
  771. modes aren't all that hot anyhow, so you could probably skip them without 
  772. missing a thing.
  773.  
  774. You should be aware that none of these programs are intended to be memory-
  775. resident.  This has to do with a highly involved and rather technical 
  776. obstacle.  Well, okay, the fact is I don't know how to write memory-resident 
  777. programs.
  778.  
  779.                      Comments, Criticisms, Questions, Etc.
  780.  
  781. I'm always interested in hearing what you think of my programs.  Please feel 
  782. free to send any correspondence to the address at the beginning of this 
  783. document.  When writing, please include the version number of the program 
  784. you're writing about, and the system it was designed for (if it was designed 
  785. for a specific system).  That makes it easier for me to see if maybe your 
  786. problem has already been fixed.
  787.  
  788.                           Also Available From StarCom
  789.  
  790. Due to insufficient space on the distribution disk, some files are not 
  791. included and are offered separately.  These include:
  792.  
  793. C64KA009.BAS- This is the Commodore 64 screen display.  It's on the disk in 
  794. IBM format; you'll have to display it or print it on an IBM or compatible, and 
  795. then type it into the C64 manually.  It's not a great display, but it's the 
  796. only one for the Commodore 64 I know of.  It's in Commodore 64 BASIC V. 2, so 
  797. you can alter it to suit your needs.
  798.  
  799. HKAL.ASI- The ASIC source code for HKAL.EXE .  This might be of use if you're 
  800. trying to program Hercules graphics in ASIC, and are interested in seeing how 
  801. ASILIB sub calls work with your source code.
  802.  
  803. KAL008.BA- The screen display for the Tandy 102.  If you're interested in 
  804. programming graphics on the Tandy 102, you might find this useful.  Also, it's 
  805. the only screen display program for that computer I know of, and isn't bad 
  806. looking.  The original kaleidoscope routine was prototyped on that system, as 
  807. a matter of fact.  When I got something I thought was pretty spiffy-looking, I 
  808. ported it over to the IBM-compatible systems.  I used the interpreter included 
  809. with the 102, so you can modify the program to suit yourself.
  810.  
  811. KALCOCO2.BAS- The screen display for the Color Computer 2.  This is written in 
  812. the Color BASIC 1.3 interpreter included with that system, so you can modify 
  813. it as you like.  You'll probably want to modify it, since it isn't very 
  814. impressive.  It's the only screen display program I know of for that machine, 
  815. though.  Actually, I didn't even write this one; if I remember correctly, I 
  816. got it out of the BASIC manual that came with the CoCo 2.
  817.  
  818. KALEIDOS.ASI- The ASIC 5.00 source code for KALEIDOS.EXE .  This probably has 
  819. the same attraction as HKAL.ASI, with the exception that it encompasses more 
  820. of ASILIB's features.
  821.  
  822. If you'd like a copy of the supplementary disk, please send your name, 
  823. address, and $11.13 .
  824.  
  825. When I was testing the non-SVGA .PCX file display program, I discovered I 
  826. didn't have many .PCX files that were 2-color (black-and-white).  So, I 
  827. converted some from a few .GIF and .IMG files I had kicking about the place.  
  828. I also discovered that some of the converted .PCX files didn't fit the screen, 
  829. so I scaled them to fit.
  830.  
  831. Also, when I was testing the SVGA .PCX file display program, I discovered I 
  832. didn't have any 256-color .PCX files handy.  So, I converted some from .GIF 
  833. files.
  834.  
  835. It's occurred to me that some folks may be in the same situation, and might 
  836. not have the software for converting and scaling and what-not.  So, I'm 
  837. offering that service.  For $11.13 per disk, I'll convert the graphic of your 
  838. choice, or convert some of my graphics for you.  Disk formats currently 
  839. available are 360K, 720K, 1.2M, and 1.4M.  160K and 180K formats may also be 
  840. available, but don't count on it.  Be aware that available disk formats may 
  841. change as my system configurations change; my prototype computer is available 
  842. for sale, as an example.  If I sell it, the 1.2M format won't be available.  
  843. The MaxiDisk extended formats can also be made available if you like, but I've 
  844. had trouble with "magnetic drift" (in essence, the files get screwed up) and I 
  845. don't recommend that format.
  846.  
  847. If you'd like to have me convert some of my graphics files for you, you should 
  848. specify 1) disk format; 2) how many disks you want; and 3) the topic.  Topics 
  849. can range from animals to swimsuit graphics.  In fact, I have or can get 
  850. graphics files on almost any conceivable topic, and convert them into a huge 
  851. variety of formats.
  852.  
  853. At this time, I will not convert any pornographic files.  That's because I 
  854. don't know where I stand legally, and I don't intend to hire a lawyer for a 
  855. program this cheap.  If, at some point, there is sufficient interest shown, I 
  856. may make that service available as well.
  857.  
  858. If this service interests you, send $11.13, a disk with the graphics you want 
  859. converted (or a note telling me the topics you want), your name and address, 
  860. and a short note telling me what disk format/graphics formats you want.
  861.  
  862. For the same price, you can get some ASCII files which are pictures made with 
  863. the IBM line-drawing characters.  I don't have a lot of them, but I do have a 
  864. few and I can probably get more.  Frankly, I'm often amazed at what you can do 
  865. with a lot of skill and patience, and I plan on including some "ASCII 
  866. graphics" in an art show I'm putting together.  If you'd like a disk of these 
  867. files, send $11.13, your name and address, and a note regarding your preferred 
  868. disk size/format.
  869.  
  870.                                  About StarCom
  871.  
  872. StarCom is a business founded in 1987 to promote and implement recycling in 
  873. such a way as to make it profitable.  The business has been through many 
  874. changes of name and focus, but is currently working on programming second-hand 
  875. and obsolete computers, with an eye toward keeping or making them profitable 
  876. to use.  The idea is to make it more profitable to repair and upgrade the 
  877. system than to throw it out.
  878.  
  879. I have about seven years experience with computers, and have programmed in 
  880. several versions of BASIC, including but not limited to: ApBASIC, ASIC, 
  881. BASICA, Basic BASIC 1.52, CBM BASIC 2, Color BASIC 1.3, Commodore 64 BASIC 2, 
  882. Extended Color BASIC, GW-BASIC, Locomotive BASIC2 1.16, PowerBASIC 2.10H, 
  883. QBASIC, QuickBASIC 4.5, Tandy 100 BASIC, and TSRBASIC 2.0 .  I also have some 
  884. limited experience with Turbo Pascal 4.0 .  I have even more limited 
  885. experience with C, but haven't written anything I thought was worth anything 
  886. yet.
  887.